package com.sihai.ehr.service;

import com.sihai.core.Limit;
import com.sihai.core.LimitedList;
import com.sihai.core.Sorter;
import com.sihai.ehr.model.biz.SalaryIndividualTax;
import com.sihai.ehr.model.biz.SalaryIndividualTaxRadix;
import com.sihai.ehr.model.biz.SalaryIndividualTaxRule;

import java.util.LinkedList;
import java.util.List;

public interface IndividualTaxService {

    LimitedList<SalaryIndividualTax> query(Long orgId, Limit limit, Sorter sorter);

    void save(SalaryIndividualTax salaryIndividualTax);

    SalaryIndividualTax get(Long id);

    SalaryIndividualTaxRule getRule(Long id);

    void remove(String taxIds);
    /**
     * 根据组织ID获取扣款区间
     * @param orgId
     * @return
     */
    LimitedList<SalaryIndividualTaxRule> queryTaxRule(Long orgId,Limit limit,Sorter sorter);

    void saveRule(SalaryIndividualTaxRule salaryIndividualTaxRule);

    void removeRule(String taxIds);

    /**
     * 根据组织ID获取扣款基数
     * @param organizationId
     * @return
     */
    SalaryIndividualTaxRadix getRadix(Long organizationId);

    void saveRadix(SalaryIndividualTaxRadix salaryIndividualTaxRadix);
}
